﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Text;

using Data;

namespace Business
{

    public class ListaArtista
    {
        private List<Artista> listaArtistas;

        private DataArtista dataLayer;

        public ListaArtista()
        {
            this.listaArtistas = new List<Artista>();
            this.dataLayer = new DataArtista();
        }

        public ListaArtista(List<Artista> listaArtistas)
        {
            this.listaArtistas = listaArtistas;
            this.dataLayer = new DataArtista();
        }

        public ListaArtista(ListaArtista l)
        {
            this.listaArtistas = l.getListaArtistas();
            this.dataLayer = new DataArtista();
        }

        public List<Artista> getListaArtistas() { return this.listaArtistas; }
        public DataArtista getDataLayer() { return this.dataLayer; }

        public void addArtista(Artista a)
        {
            this.listaArtistas.Add(a);
        }

        public ListaArtista getListaArtista(int status)
        {
            ListaArtista la = dataLayer.getListaArtista(status);
            return la;
        }

        public ListaArtista getSearchListaArtista(String nome)
        {
            ListaArtista la = dataLayer.getSearchListaArtista(nome);
            return la;
        }


        public int getArtistaIDByNome(String nome)
        {
            int value=-1;
            foreach (Artista a in this.listaArtistas) {
                if (a.getNomeArtista().Equals(nome)) {
                    value = a.getIDArtista();
                }
            }
            return value;
        
        }

        public ListaArtista getArtistasEvento(int eventID)
        {
            return dataLayer.getArtistasEvento(eventID);
        }

        public String toString()
        {
            StringBuilder str = new StringBuilder();
            foreach (Artista a in listaArtistas)
                str.AppendLine(a.toString());

            return str.ToString();
        }
    }

}